package com.itheima.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Jdbc入门案例
 *
 *  需求: 使用java代码从数据库的user表中的查询`username='柯南' 并且 password='admin' `的用户
 */
public class JdbcDemo1 {

    /**
     * 1.注册驱动
     * 2.创建链接
     * 3.获取操作对象
     * 4.使用操作对象执行SQL语句，得到返回结果。
     *      4.1 增删改操作：返回影响数据库记录的行数  int类型
     *      4.2 查询操作：  返回查询的结果集          ResultSet类型
     *  5.处理结果集
     *      5.1 int类型，一般就表示是否执行成功。如果影响数据库的记录行数不是0，就表示执行成功了。
     *      5.2 ResultSet类型，一般就是把结果集中的内容获取出来。
     *  6. 释放资源
     *
     *
     *  细节： 连接数据库URL的特点
     *          jdbc:mysql://localhost:3306/ee389_jdbc
     *          协议         主机     端口     URI
     * @param args
     */
    public static void main(String[] args) throws Exception{
       // 1.注册驱动
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
       // 2.创建链接
        Connection connection = DriverManager.getConnection("jdbc:mysql:///ee389_jdbc", "root", "1234");
        // 3.获取操作对象
        Statement statement = connection.createStatement();
        // 4.使用操作对象执行SQL语句，得到返回结果。
        ResultSet resultSet = statement.executeQuery("select * from user where username = '柯南' and password = 'admin' ");
        //  5.处理结果集
        while(resultSet.next()){
            int id  = resultSet.getInt("id");
            String username = resultSet.getString("username");
            String password = resultSet.getString("password");
            float balance = resultSet.getFloat("balance");
            System.out.println(id+","+username+","+password+","+balance);
        }
        //  6. 释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}
